package vo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;

@Entity(name = "funcionario")
@PrimaryKeyJoinColumn(name = "id_pessoa")
@Inheritance(strategy = InheritanceType.JOINED)
public class FuncionarioVO implements Serializable {

	private static final long serialVersionUID = 3870485556046058479L;
	@Id
	@Column(name = "id_pessoa")
	private int idpessoa;
	@Column(name = "desc_login")
	private String login;
	@Column(name = "desc_senha")
	private String senha;
	@Column(name = "num_matricula")
	private int matricula;
	@Column(name = "desc_cargo")
	private String cargo;
	@Column(name = "data_admiss")
	private Date dataAdmiss;
	@Column(name = "val_salario")
	private float salario;

	// @Transient
	// @JoinColumn(insertable = false, updatable = false)

	@OneToOne
	@PrimaryKeyJoinColumn
	private PessoaVO pessoaVO = new PessoaVO();

	public int getIdpessoa() {
		return idpessoa;
	}

	public void setIdpessoa(int idpessoa) {
		this.idpessoa = idpessoa;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public int getMatricula() {
		return matricula;
	}

	public void setMatricula(int matricula) {
		this.matricula = matricula;
	}

	public String getCargo() {
		return cargo;
	}

	public void setCargo(String cargo) {
		this.cargo = cargo;
	}

	public Date getDataAdmiss() {
		return dataAdmiss;
	}

	public void setDataAdmiss(Date dataAdmiss) {
		this.dataAdmiss = dataAdmiss;
	}

	public PessoaVO getPessoaVO() {
		return pessoaVO;
	}

	public void setPessoaVO(PessoaVO pessoaVO) {
		this.pessoaVO = pessoaVO;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public float getSalario() {
		return salario;
	}

	public void setSalario(float salario) {
		this.salario = salario;
	}
}
